package com.jsoft.service;

import com.jsoft.entity.Voucher;

/**
 * @author:sha
 * @email:o68o4741@163.com
 * @date:2023/2/21
 */
public interface VoucherService {
    /**
     * 根据id查询Voucher列表
     * @param id Voucher得id
     * @return Voucher对象
     * @throws Exception sql语句异常
     */
    Voucher getVoucherById(Integer id) throws Exception;

    /**
     * 根据id修改Voucher表中status状态
     * @param id Voucher表得id
     * @return 影响行数
     * @throws Exception sql语句异常
     */
    int updateStatus(Integer id) throws Exception;

    /**
     * 当转让金额小于凭证金额时，生成一条新的记录
     * @param voucher Voucher 对象
     * @param sourceId 凭证来源ID
     * @param balance 转让金额与凭证金额的差额
     * @return 影响行数
     * @throws Exception sql语句异常
     */
    int insertVoucher(Voucher voucher,Integer sourceId,Double balance)throws Exception;
}
